package flatbuf
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type Message struct {
_tab flatbuffers .Table
}
func GetRootAsMessage (buf []byte , offset flatbuffers .UOffsetT ) *Message {
n := flatbuffers .GetUOffsetT (buf [offset :])
x := &Message {}
x .Init (buf , n +offset )
return x
}
func (rcv *Message ) Init (buf []byte , i flatbuffers .UOffsetT ) {
rcv ._tab .Bytes = buf
rcv ._tab .Pos = i
}
func (rcv *Message ) Table () flatbuffers .Table {
return rcv ._tab
}
func (rcv *Message ) Version () MetadataVersion {
o := flatbuffers .UOffsetT (rcv ._tab .Offset (4 ))
if o != 0 {
return MetadataVersion (rcv ._tab .GetInt16 (o + rcv ._tab .Pos ))
}
return 0
}
func (rcv *Message ) MutateVersion (n MetadataVersion ) bool {
return rcv ._tab .MutateInt16Slot (4 , int16 (n ))
}
func (rcv *Message ) HeaderType () MessageHeader {
o := flatbuffers .UOffsetT (rcv ._tab .Offset (6 ))
if o != 0 {
return MessageHeader (rcv ._tab .GetByte (o + rcv ._tab .Pos ))
}
return 0
}
func (rcv *Message ) MutateHeaderType (n MessageHeader ) bool {
return rcv ._tab .MutateByteSlot (6 , byte (n ))
}
func (rcv *Message ) Header (obj *flatbuffers .Table ) bool {
o := flatbuffers .UOffsetT (rcv ._tab .Offset (8 ))
if o != 0 {
rcv ._tab .Union (obj , o )
return true
}
return false
}
func (rcv *Message ) BodyLength () int64 {
o := flatbuffers .UOffsetT (rcv ._tab .Offset (10 ))
if o != 0 {
return rcv ._tab .GetInt64 (o + rcv ._tab .Pos )
}
return 0
}
func (rcv *Message ) MutateBodyLength (n int64 ) bool {
return rcv ._tab .MutateInt64Slot (10 , n )
}
func (rcv *Message ) CustomMetadata (obj *KeyValue , j int ) bool {
o := flatbuffers .UOffsetT (rcv ._tab .Offset (12 ))
if o != 0 {
x := rcv ._tab .Vector (o )
x += flatbuffers .UOffsetT (j ) * 4
x = rcv ._tab .Indirect (x )
obj .Init (rcv ._tab .Bytes , x )
return true
}
return false
}
func (rcv *Message ) CustomMetadataLength () int {
o := flatbuffers .UOffsetT (rcv ._tab .Offset (12 ))
if o != 0 {
return rcv ._tab .VectorLen (o )
}
return 0
}
func MessageStart (builder *flatbuffers .Builder ) {
builder .StartObject (5 )
}
func MessageAddVersion (builder *flatbuffers .Builder , version MetadataVersion ) {
builder .PrependInt16Slot (0 , int16 (version ), 0 )
}
func MessageAddHeaderType (builder *flatbuffers .Builder , headerType MessageHeader ) {
builder .PrependByteSlot (1 , byte (headerType ), 0 )
}
func MessageAddHeader (builder *flatbuffers .Builder , header flatbuffers .UOffsetT ) {
builder .PrependUOffsetTSlot (2 , flatbuffers .UOffsetT (header ), 0 )
}
func MessageAddBodyLength (builder *flatbuffers .Builder , bodyLength int64 ) {
builder .PrependInt64Slot (3 , bodyLength , 0 )
}
func MessageAddCustomMetadata (builder *flatbuffers .Builder , customMetadata flatbuffers .UOffsetT ) {
builder .PrependUOffsetTSlot (4 , flatbuffers .UOffsetT (customMetadata ), 0 )
}
func MessageStartCustomMetadataVector (builder *flatbuffers .Builder , numElems int ) flatbuffers .UOffsetT {
return builder .StartVector (4 , numElems , 4 )
}
func MessageEnd (builder *flatbuffers .Builder ) flatbuffers .UOffsetT {
return builder .EndObject ()
}
The pages are generated with Golds v0.8.2 . (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu .
PR and bug reports are welcome and can be submitted to the issue list .
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds .